<?php
/**
 * AssertionFailed 自定义的断言异常,由Kenxu_Unit_Assert类来使用
 *
 * @author KenXu
 * @date: 2010-7-28 下午12:10:08
 */
class Kenxu_Unit_AssertionFailed extends RuntimeException {
	/**
	 * 断言失败触发的规则
	 * @var $_failedRule string
	 */
	private $_failedRule = null ;
	
	/**
	 * 断言失败的错误回馈信息
	 * @var $_failedRule string
	 */
	private $_failedMessage = null ;
	
	/**
	 * 断言 异常构造器
	 * 
	 * @param string $failedRule 断言失败触发的规则
	 * @param string $failedMessage 断言失败的错误回馈信息
	 * @param string $description 断言测试的目的
	 */
	function __construct($failedRule,$failedMessage=null,$description){
		parent::__construct($description);
		$this->_failedRule = $failedRule ;
		$this->_failedMessage = $failedMessage ;
	}
	
	/**
	 * 返回 断言失败触发的规则
	 * 
	 * @return string
	 */
	function getAssertRule(){
		return $this->_failedRule ;
	}
	
	/**
	 * 返回 断言失败的错误回馈信息
	 * 
	 * @return string
	 */
	function getAssertMessage(){
		return $this->_failedMessage ;
	}
}